Servlet学习总结 – Servlet Reference

Categories: Java; Tagged with: ; @ February 13th, 2009 20:12

2009-2-13 14-56-18

很简单的几个概念, 其他还是OO.

A: Request常用方法

request中获取参数

方法

说明

getParameter(String name);

获得request中参数名name对应的值, 如果不存在该参数, 则返回Null – 注意: 名称大小写敏感

GetParameterNames

返回一个枚举对象, 包含了所在request中的所有参数名, 如果request没有参数, 该方法返回一个空的枚举

GetParameterValues(String name)

返回一个Sting[], 包含参数所对应的所有的值, 如果参数不存在,则返回Null.

getParameterMap

返回一个Map对象, 以参数名称为Key(String), 参数对应值为Value(类型String[])

getSession()

获得当前Session

Response中输出信息

方法

说明

setContentType(String type)

声明返回数据的MIME类型

setCharacterEncoding(String charset)

声明Response的编码

getWriter();

返回一个PrintWriter, 可通过该对象的print 或printlin方法向客户端发送字符串数据流

sendRedirect(String location)

设置转向 – 转到某地址

B: Session常用方法:

方法

说明

getServletContext()

获得Session所在的ServletContext对象

getAttribute(String name)

返回该Session中name对应的Attribute对象, 如果没有则返回null

getAttributeNames()

返回一个枚举, 包括Seesion中所有的Attribut 对应的name,

setAttribute(String name, Object value)

在Session中加入Attribute

invalidate()

销毁Session

C: ServeletContext常用方法

方法

说明

getInitParameter(String name)

返回一个String, 包含对应的初始化参数, 如果不存在则返回null, init参数可在web.xml中使用<context-param>设定

getInitParameterNames()

返回由所有的init参数名称组成的枚举, 如果不存在任何init参数, 则返回空的枚举

getAttribute(String name)

返回运行时设定相应的Attribute 对象, 如不存在则返回null

getAttributeNames()

返回一个枚举, 包含所有Attribute的name, 如果不存在任何Attribue, 则返回一个空的枚举

setAttribute(String name, Object object)

在运行时增加Attribute

removeAttribute(String name)

删除对应name的Attribute

D: Servlet框架理解

Servlet通过IoC(Inversion of Control意为控制反转)将代码交给框架来执行. 因此只需要在Servlet类中扩展HttpServlet, 覆盖doGet, doPost等方法, 就可成功创建并执行一个Servlet. 在有客户Request时, 将由Service方法分析Request, 并交由对应方法处理, 如Get交由doGet方法处理.

Listener: Servlet中的listener类似于AS中的Event kind, 在Listener支持的事件 – 如Servlet初始化完毕, Session初始化, Request Destory,等, 在这些事件发生后, 将自动运行相应的方法(IoC)

如果需要Listener或Filter, 则在编写好相应的类之后, 加入到web.xml描述文件中.

Servlet 的数据层次:
1. ServletContext: Application初始化时会呼叫Listener contextInitialized(), 可以在该方法中获得或设定ServletContext生命周期内的数据. 如可以通过getInitParameter来获取web.xml中定义好的初始化参数, 也可以通过setAttribute方法设定Attribute, 这些Attribute将在整个Servlet生命周期内有效.

2. HttpSession: 当获得Session之后, 可以进行setAttribute等方法设定Session’的Attribute – 在该Session中有效

3. HttpRequest: 在doGet, doPost等方法中, 可以通过request. get Parameter(String name)等方法来获得request中的数据, 这些数据仅对当前的这个Request有效

<->



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.